/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Clases;

import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 *
 * @author JULIAN
 */
public class SQL_Consultas {

private String id="";
private String pass ="";
private PreparedStatement stm;
private String almacen="";
private String caja="";
private String pago="";
private String cliente="";
private String producto="";
private String factura="";

public void SetDatos(String a, String b){
  id=a;
  pass=b;
                                        }
public String getid()
  {
      return id;
  }
public String getpass()
  {
      return pass;
  }
public void setId(String c){
id=c;
}
public void setFactura(String c){
factura=c;
}
public void setAlmacen(String c){
almacen = c;
}
public void setCaja(String c){
caja = c;
}
public void setPago(String c){
pago = c;
}
public void setCliente(String c){
cliente = c;
}
public void setProducto(String c){
producto = c;
}



public PreparedStatement GetLogin() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select id_cargo, id_almacen from empleados where id_empleado='"+id+"' and contraseña='"+pass+"'");
return stm;
                                                       }
public PreparedStatement GetDatosEMP() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select id_empleado,nombres,apellidos,fecha_inicio,tipo_contrato,salario,nombre_cargo,id_almacen, nombre_turno from empleados INNER JOIN turnos ON empleados.id_turno =  turnos.id join tipos_contratos on empleados.id_tipo_contrato = tipos_contratos.id_contrato join cargos on empleados.id_cargo = cargos.id_cargo where id_empleado='"+id+"' and contraseña='"+pass+"'");
return stm;
                                                    }
public PreparedStatement GetExtrasEMP() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select horas_extra from horas_extras_mes where id_empleado='"+id+"' and mes=to_number(to_char(sysdate,'mm')) and año=to_number(to_char(sysdate,'yyyy'))");
return stm;
}
public PreparedStatement GetJPEMP() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select id_empleado,nombres,apellidos,fecha_inicio,tipo_contrato,salario,nombre_cargo,id_almacen,nombre_turno from empleados INNER JOIN turnos ON empleados.id_turno =  turnos.id join tipos_contratos on empleados.id_tipo_contrato = tipos_contratos.id_contrato join cargos on empleados.id_cargo = cargos.id_cargo where id_almacen='"+almacen+"' and id_cargo !=2");
return stm;
                                                    }
public PreparedStatement ExisteVendedor() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select * from empleados where id_empleado='"+id+"' and id_almacen='"+almacen+"' and id_cargo='4'");
return stm;
                                                    }
public PreparedStatement ExisteEmpleado() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select * from empleados where id_empleado='"+id+"' and id_almacen='"+almacen+"'");
return stm;
                                                    }
public PreparedStatement ValidaCaja() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select id_almacen from cajas where id_caja='"+caja+"'");
return stm;
                                                         }
public PreparedStatement ValidaTipoPago() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select * from tipos_pagos where tipo='"+pago+"'");
return stm;
                                                         }
public PreparedStatement ValidaCliente() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select * from clientes where id_cliente='"+cliente+"'");
return stm;
                                                         }
public PreparedStatement GetFechaBD() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select sysdate from dual");
return stm;
                                                         }
public PreparedStatement ValidaProducto() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select * from existencias where id_articulo='"+producto+"' and id_almacen='"+almacen+"'");
return stm;
                                                         }
public PreparedStatement ExisteProducto() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select * from articulos where id_articulo='"+producto+"'");
return stm;
                                                         }
public PreparedStatement GetnumeroFactura() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select count(codigo_venta)factura from ventas");
return stm;
                                                         }
public PreparedStatement GetexisteVendedorDia() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select * from vendedores where id_empleado ='"+id+"' and fecha = to_DATE(sysdate,'YYYY-MM-DD')" );
return stm;
                                                         }
//consultas de gerente
public PreparedStatement GetnumerodeEmpleados() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select count(id_empleado)numero_empleados from empleados");
return stm;
                                                         }
public PreparedStatement GetDatosVenta() throws SQLException{
    int f =Integer.parseInt(factura);
stm = Conexion.obtenerconexion().prepareStatement("select codigo_venta Numero_de_Factura,ventas.id_empleado Codigo_del_vendedor,empleados.nombres||' '||empleados.apellidos Nombre_Vendedor,tipo Tipo_de_Pago,fecha Fecha,id_caja Codigo_de_Caja,id_almacen Codigo_de_almacen,clientes.id_cliente Documento_Cliente,clientes.nombres||' '||clientes.apellidos Nombre_del_Cliente, iva_total IVA,costo_total Costo from  ventas inner join tipos_pagos on ventas.id_tipo_pago=tipos_pagos.id join empleados on ventas.id_empleado=empleados.id_empleado join clientes on ventas.id_cliente=clientes.id_cliente where ventas.codigo_venta="+f+"");
return stm;
                                                         }
public PreparedStatement GetInventario() throws SQLException{
stm = Conexion.obtenerconexion().prepareStatement("select articulos.nombre_producto nombre, existencias.num_existencias existencias from existencias inner join articulos on articulos.id_articulo=existencias.id_articulo where id_almacen='"+almacen+"'");
return stm;                                                         }


public void cierrast() throws SQLException{

    stm.close();

                                          }
}
